/**
 * Alipay.com Inc.
 * Copyright (c) 2004-2024 All Rights Reserved.
 */
package com.alipay.demo.service;

import com.alipay.api.domain.LocalAppxCategoryVO;
import com.alipay.api.response.AlipayOpenAppLocalitemListQueryResponse;
import com.alipay.api.response.AlipayOpenAppLocalitemQueryResponse;
import com.alipay.api.response.AlipayOpenAppLocalitemTemplateQueryResponse;
import com.alipay.demo.vo.LocalItemCreateRequest;
import com.alipay.demo.vo.OpenResponse;

import java.util.List;

/**
 * @author jishupei.jsp
 * @version : LocalItemService, v0.1 2024年03月04日 2:55 下午 jishupei.jsp Exp $
 */
public interface LocalItemService {

    /**
     * 获取叶子节点商品类目列表（仅获取类目状态为资质已开通的）
     */
    OpenResponse<List<LocalAppxCategoryVO>> getCategories(String itemType);

    /**
     * 查询本地商品模板信息
     */
    OpenResponse<AlipayOpenAppLocalitemTemplateQueryResponse> queryTemplate(String categoryId, String itemType);

    /**
     * 创建本地商品
     */
    OpenResponse<String> createLocalItem(String itemType, LocalItemCreateRequest param);

    /**
     * 创建日历房本地商品
     */
    OpenResponse<String> createCalendarLocalItem(LocalItemCreateRequest param);

    /**
     * 修改本地商品
     */
    OpenResponse<String> updateLocalItem(String itemType, LocalItemCreateRequest param);

    /**
     * 删除商品
     */
    OpenResponse<Boolean> deleteLocalItem(String itemId, String outItemId);

    /**
     * 查询商品详情
     */
    OpenResponse<AlipayOpenAppLocalitemQueryResponse> queryItemDetail(String itemId, String outItemId, String needEditSpu);

    /**
     * 分页查询商品
     */
    OpenResponse<AlipayOpenAppLocalitemListQueryResponse> queryItemList(Long pageNum, Long pageSize,
                                                                        List<String> itemIdList, List<String> outItemIdList, String spuStatus);
}
